/**
* @file osal.c
* @brief OSAL task manager 
* @details 
* @author huangbin
* @version V1.0.0
* @date 2025-04-25
* @copyright All documents are copyrighted by Shenzhen Xinlongwei Technology Co., LTD.
*            They may not be used for commercial purposes without permission
*/
#ifndef __OSAL_H__
#define __OSAL_H__
#include "inc.h"

/**
* @brief 设置一个事件
* @param[in] task_id 任务id
* @param[in] event_flag 事件标志
* @return true=成功，false=失败
*/
extern bool osalSetEvent( uint32_t task_id, uint32_t event_flag);

/**
* @brief 清除一个事件
* @param[in] task_id 任务id
* @param[in] event_flag 事件标志
* @return true=成功，false=失败
*/
extern bool osalClearEvent( uint32_t task_id, uint32_t event_flag);

/**
* @brief OS 系统初始化
*/
extern void OsalInit(void);

#ifndef SIZEOF
#define SIZEOF(x) (sizeof(x)/sizeof(x[0]))
#endif	

/**
* @brief OS 运行调度
*/
extern void osalRunSystem ( void );

#endif


